<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "https://www.w3.org/TR/html4/loose.dtd">
<html lang="zh-CN"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta http-equiv="Content-Language" content="zh-CN"><link href="stylesheet.css" media="all" rel="stylesheet" type="text/css">
<title>SPI_connect</title>
<script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?d286c55b63a3c54a1e43d10d4c203e75"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script>
</head><body class="REFENTRY">
<div>
<table summary="Header navigation table" width="100%" border="0" cellpadding="0" cellspacing="0">
<tr><th colspan="5" align="center" valign="bottom">PostgreSQL 8.2.3 中文文档</th></tr>
<tr><td width="10%" align="left" valign="top"><a href="spi-interface.html" accesskey="P">后退</a></td><td width="10%" align="left" valign="top"><a href="spi-interface.html#SPI-INTERFACE">快退</a></td><td width="60%" align="center" valign="bottom"></td><td width="10%" align="right" valign="top"><a href="spi-spi-finish.html">快进</a></td><td width="10%" align="right" valign="top"><a href="spi-spi-finish.html" accesskey="N">前进</a></td></tr>
</table>
<hr align="LEFT" width="100%"></div>
<h1><a name="SPI-SPI-CONNECT"></a>SPI_connect</h1>
<div class="REFNAMEDIV"><a name="AEN41868"></a><h2>函数名</h2>SPI_connect&nbsp;--&nbsp;把一个过程与 SPI 管理器连接起来</div>
<a name="AEN41871"></a>
<div class="REFSYNOPSISDIV"><a name="AEN41873"></a><h2>原型</h2>
<pre class="SYNOPSIS">int SPI_connect(void)</pre>
</div>
<div class="REFSECT1"><a name="AEN41875"></a><h2>描述</h2>
<p><code class="FUNCTION">SPI_connect</code> 打开一个从过程调用到 SPI 管理器的连接。如果你需要通过 SPI 执行命令，你就必需调用这个函数。有些工具类 SPI 函数可以从未连接的过程中调用。</p>
<p>如果你的过程已经连接了，那么 <code class="FUNCTION">SPI_connect</code> 将返回一个 <span class="RETURNVALUE">SPI_ERROR_CONNECT</span> 错误信息。请注意如果一个过程已经调用了 <code class="FUNCTION">SPI_connect</code> 然后它直接调用另外一个又会调用 <code class="FUNCTION">SPI_connect</code> 的过程的时候也会发生这种问题。尽管以一个 SQL 命令里调用另外一个使用 SPI 的函数的形式对 SPI 管理器进行递归调用是允许的，但是直接的嵌套调用 <code class="FUNCTION">SPI_connect</code> 和 <code class="FUNCTION">SPI_finish</code> 是不允许的(不过，可以看看 <code class="FUNCTION">SPI_push</code> 和 <code class="FUNCTION">SPI_pop</code>)。</p>
</div>
<div class="REFSECT1"><a name="AEN41890"></a><h2>返回值</h2>
<div class="VARIABLELIST">
<dl>
<dt><tt class="SYMBOL">SPI_OK_CONNECT</tt></dt>
<dd><p>成功时</p></dd>
<dt><tt class="SYMBOL">SPI_ERROR_CONNECT</tt></dt>
<dd><p>失败时</p></dd>
</dl>
</div>
</div>
<div>
<hr align="LEFT" width="100%">
<table summary="Footer navigation table" width="100%" border="0" cellpadding="0" cellspacing="0">
<tr><td width="33%" align="left" valign="top"><a href="spi-interface.html" accesskey="P">后退</a></td><td width="34%" align="center" valign="top"><a href="index.html" accesskey="H">首页</a></td><td width="33%" align="right" valign="top"><a href="spi-spi-finish.html" accesskey="N">前进</a></td></tr>
<tr><td width="33%" align="left" valign="top">接口函数</td><td width="34%" align="center" valign="top"><a href="spi-interface.html" accesskey="U">上一级</a></td><td width="33%" align="right" valign="top">SPI_finish</td></tr>
</table>
</div>
</body></html>